EC2 Windows Firewall 설정으로 node 서버 접속해 보기
안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 EC2 Windows Firewall 설정으로 node 서버에 접속해 보는 과정을 정리해 봤습니다.
EC2 Windows 구축
EC2 서비스에서「인스턴스 시작」버튼을 클릭합니다.
windows를 검색하고 Windows Server 2019 Base를 선택합니다.
테스트용이기 때문에 t2.micro를 선택합니다.
Public Subnet을 선택하고 다음으로 넘어갑니다.
Windows에 접속하기 위해 RDP 포트를 열고, node 접속을 위해 3001 포트를 열어줍니다. node 포트의 경우 사용자가 임의로 지정할 수 있기 때문에 저는 3001 포트를 열도록 하겠습니다.
그리고 검토 및 시작 버튼을 눌러 EC2 Windows 생성을 끝마칩니다.
Windows에 node install
EC2 Windows 생성이 끝났다면, RDP 클라이언트를 통해 EC2 Windows에 접속합니다. 접속하는 방법에 대해서는 아래 블로그를 참고해주세요.
Windows에 접속했다면 node를 설치합니다.
cd .\Desktop\ mkdir test cd test npm init
설치가 끝났다면, Windows Powershell을 실행 시키고 명령어를 입력합니다.
특별한 설정 없이 엔터를 눌러서 디폴트로 package.json 파일을 생성합니다.
npm install --save express // express 설치 npm install -g pm2
express와 pm2까지 설치합니다.
const express = require("express"); const app = express(); const port = 3001; app.set("port", port); app.get("/", (req, res) => { res.send("Hello world!"); }); app.listen(port, () => console.log("Listening on", port)); module.exports = app;
설치가 끝났다면, app.js 파일을 만들어 다음 코드를 작성합니다. app.js 파일 생성 방법은 먼저 텍스트 파일을 생성한 다음, 확장자 명을 js로 바꿔주면 됩니다.
- pm2 start app.js
다음 명령어로 app.js를 실행합니다.
Windows Firewall 설정
이제 Windows Firewall을 설정해 보도록 하겠습니다.
시작메뉴에서 Administrative Tools를 검색해서 클릭합니다.
이어서 Windows Defender Firewall with Advanced Security를 클릭합니다.
Inbound Rules를 클릭하고 오른쪽 New Rule...를 클릭해서 새로운 규칙을 생성합니다.
Port를 선택합니다.
3001 포트 번호를 입력합니다.
그 외에 값들은 전부 디폴트로 선택합니다. 그리고 마지막 규칙 이름을 입력한 다음 규칙 생성을 끝마칩니다.
조금 전 만든 규칙을 클릭하고 Programs And Services에서 node.exe 파일을 찾아 선택합니다.
C/Program Files/nodejs 폴더로 들어가 보면 node.exe 파일이 있습니다.
접속 테스트
- 퍼블릭IPv4주소:3001
로 접속합니다.
성공적으로 Hello world!가 출력되는 것을 확인할 수 있습니다.
이런식으로 node 서버에 접속하기 위해서는 AWS 보안 그룹 뿐 만 아니라 Windows Firewall 까지 설정해야 하는 번거로움이 존재합니다. 하지만 Windows Firewall을 비활성화 하면 AWS 보안 그룹 설정만으로 node 서버에 접속이 가능합니다.
본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 [email protected]로 보내주시면 감사하겠습니다.